const express = require('express');
const router = express.Router();
const db = require("../../../../util/dbConfig/dbConfig")

//新增一行数据  还未完善12.5
router.post('/',async (req,res) => {
    if(req.session.userInfo.admin !== 1){
        return res.send({
            code: 3,
            msg: '非管理员不可添加'
        })
    }
    let {
        sheepId,   //羊只编号
        userName,    //用户姓名
        birthDate,  //出生日期
        sex,  //性别
        level, //等级
        variety,   //品种
        bWeight,   //初生重
        wWeight,  //断奶重
        ground,     //园区
        fu,         //父号
        mu,         //母号
        zuFu,       //祖父
        zuMu,       //祖母
        waiZuFu,    //外祖父
        waiZuMu,    //外祖母
        remake1,    //备注1  无即为null
        remake2,    //备注2  无即为null
        remake3,    //备注3  无即为null
        remake4,    //备注4  无即为null
        remake5,    //备注5  无即为null
    } = req.body
    let arr = [
        sheepId,   //羊只编号
        userName,    //用户姓名
        birthDate,  //出生日期
        sex,  //性别
        level, //等级
        variety,   //品种
        bWeight,   //初生重
        wWeight,  //断奶重
        ground,     //园区
        fu,         //父号
        mu,         //母号
        zuFu,       //祖父
        zuMu,       //祖母
        waiZuFu,    //外祖父
        waiZuMu,    //外祖母
        remake1,    //备注1  无即为null
        remake2,    //备注2  无即为null
        remake3,    //备注3  无即为null
        remake4,    //备注4  无即为null
        remake5,    //备注5  无即为null
    ]
    for(let i = 0; i< arr.length-5;i++){
        if(arr[i] === null || arr[i] === undefined){
            return res.send({
                code: 1,
                msg: '参数错误'
            })
        }
    }
    try{
        //查询牧户编号是否正确
        let isUserSql = `select ID from user where NAME=?`
        let isUSerSqlArr = [userName]
        let result1 = await db.SySqlConnect(isUserSql,isUSerSqlArr)
        console.log(result1[0]['ID']);
        if(!result1[0]['ID']){
            return res.send({
                code: 1,
                msg: '无此牧户，请检查牧户身份证号'
            })
        }
        //查询羊只编号是否重复
        let isCheckSheepSql =  `select ID from sheep where ID=?`
        let isCheckSheepSqlArr = [sheepId]
        let result2 = await db.SySqlConnect(isCheckSheepSql,isCheckSheepSqlArr)
        console.log(result2);
        if(result2.length !== 0){
            return res.send({
                code: 1,
                msg: '羊只编号重复，请重新输入编号'
            })
        }
        //将arr数组中为''的值改为null
        for(let i = 0;i<arr.length;i++){
            if(arr[i] === ''){
                arr[i] = null
            }
        }
        if(result2.length === 0){
            //添加新羊数据
            let addSql = `insert into
             sheep(
             ID,
             USER_ID,
             BIRTHDAY,
             SEX,
             LEVEL,
             VARIETY,
             BIRTH_WEIGHT,
             WEANING_WEIGHT,
             PICTURE,GARDEN_NAME,FU,MU,ZUFU,ZUMU,WAIZUFU,
             WAIZUMU,REMARK1,REMARK2,REMARK3,REMARK4,REMARK5
             ) values(?,?,?,?,?,?,?,?,${null},?,?,?,?,?,?,?,?,?,?,?,?)`
            let result3 = await db.SySqlConnect(addSql,arr)
            if(result3.affectedRows === 1){
                return res.send({
                    code: 0,
                    msg: '添加成功'
                })
            }else{
                return res.send({
                    code: 2,
                    msg: '添加失败'
                })
            }
        }

    }catch (e) {
        console.log(e);
        return res.send({
            code: 4,
            msg: '服务器错误，请稍后再试'
        })
    }
})


module.exports = router
